class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定，请勿修改，直接返回方法规定的值即可
     *
     * 
     * @param s string字符串 
     * @return int整型
     */
    // 滑动窗口
    int lengthOfLongestSubstring(string s) {
        char hash[40000] = {0};   // 出现次数
        int res = 1;
        for(int left = 0,right = 0; right < s.size(); ++right){
            hash[s[right]] += 1;
            while(hash[s[right]] > 1){
                hash[s[left++]] -= 1;
            }
            int len = right - left + 1;
            res = res > len ? res : len; 
        }
        return res;
    }
};